package com.hoshiicloud.payment;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author Mr.wu
 * @since 2019-05-13
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("paylist")
public class Paylist implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField("id")
    private Long id;

    /**
     * 客户订单id
     */
    @TableField("order_id")
    private String orderId;

    /**
     * 买家ID
     */
    @TableField("userid")
    private Long userid;

    @TableField("platformid")
    private Long platformId;

    /**
     * 支付流水号
     */
    @TableField("pay_orderno")
    private String payOrderno;

    /**
     * 1-消费 2-退款
     */
    @TableField("pay_type")
    private Integer payType;

    /**
     * 外部流水号
     */
    @TableField("pay_outderno")
    private String payOutderno;

    /**
     * 支付日期时间
     */
    @TableField("paytime")
    private LocalDateTime paytime;

    /**
     * 支付金额
     */
    @TableField("payamount")
    private BigDecimal payamount;

    /**
     * 手续费
     */
    @TableField("fees")
    private BigDecimal fees;

    /**
     * 实到金额
     */
    @TableField("amount")
    private BigDecimal amount;

    /**
     * 0-未付款 1-已付款 -1 建议异常
     */
    @TableField("status")
    private Integer status;

    /**
     * 汇入账户号
     */
    @TableField("in_account")
    private String inAccount;

    /**
     * 汇出账户号
     */
    @TableField("out_account")
    private String outAccount;

    /**
     * 渠道  0 weixin 1-alipay 3-cups
     */
    @TableField("channel")
    private Integer channel;

    /**
     * 关联单号（销售主单/退款单号
     */
    @TableField("refno")
    private String refno;

    /**
     * 回调信息
     */
    @TableField("callback_message")
    private String callbackMessage;

    @TableField("updatedtime")
    private LocalDateTime updatedTime;

    @TableField("createdtime")
    private LocalDateTime createdTime;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    @TableField("attach")
    private String attach;


}
